package com.chengcang.api.modules.busi.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.chengcang.common.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 需求实体
 *
 * @author bibajin
 * @since 1.0.0 2023-01-10
 */
@Data
@TableName("busi_demand")
public class BusiDemandEntity extends BaseEntity {
    /**
     * 需求编号
     */
    @ApiModelProperty(value = "需求编号")
    private String demandNo;

    /**
     * 履约方外键
     */
    @ApiModelProperty(value = "履约方外键")
    private String performanceId;
    /**
     * 需求状态
     */
    @ApiModelProperty(value = "需求状态")
    private Integer demandStatus;
    /**
     * 支付状态
     */
    @ApiModelProperty(value = "支付状态")
    private Integer payStatus;
    /**
     * 需求货品外键
     */
    @ApiModelProperty(value = "需求货品外键")
    private Long productId;
    /**
     * 需求数量
     */
    @ApiModelProperty(value = "需求数量")
    private BigDecimal demandTotal;

    /**
     * 已供应数量
     */
    @ApiModelProperty(value = "已供应数量")
    private BigDecimal alreadySupplyNum;
    /**
     * 过期时间
     */
    @ApiModelProperty(value = "过期时间")
    private Date demandExpire;
    /**
     * 发票信息外键
     */
    @ApiModelProperty(value = "发票信息外键")
    private Long invoiceHeadId;
    /**
     * 地址信息外键
     */
    @ApiModelProperty(value = "地址信息外键")
    private Long addressId;

    /**
     * 单位
     */
    @ApiModelProperty(value = "单位")
    private String productUnit;
    /**
     * 单价
     */
    @ApiModelProperty(value = "单价")
    private BigDecimal price;
    /**
     * 不含增值税金额
     */
    @ApiModelProperty(value = "不含增值税金额")
    private BigDecimal noVatPrice;
    /**
     * 增值税
     */
    @ApiModelProperty(value = "增值税")
    private BigDecimal vat;
    /**
     * 合同总价
     */
    @ApiModelProperty(value = "合同总价")
    private BigDecimal contractTotalPrice;
    /**
     * 卖家收款金额
     */
    @ApiModelProperty(value = "卖家收款金额")
    private BigDecimal sellerReceivePrice;
    /**
     * 平台代收税费
     */
    @ApiModelProperty(value = "平台代收税费")
    private BigDecimal platformTakeTaxPrice;
    /**
     * 最高履约数量
     */
    @ApiModelProperty(value = "最高履约数量")
    private BigDecimal maxPerformanceNum;
    /**
     * 最低履约数量
     */
    @ApiModelProperty(value = "最低履约数量")
    private BigDecimal minPerformanceNum;
    /**
     * 关单原因
     */
    @ApiModelProperty(value = "关单原因")
    private String closeReason;
    /**
     * 需求来源
     */
    @ApiModelProperty(value = "需求来源")
    private Integer dataSource;

    /**
     * 指派类型 0 绑定企业  1 公共池
     */
    @ApiModelProperty(value = "需求来源")
    private Integer assignType;

    /**
     * 需求外键
     */
    @ApiModelProperty(value = "需求方外键")
    private Long demandId;
    /**
     * 需求方名称
     */
    @ApiModelProperty(value = "需求方名称")
    private String demandName;

    /**
     * 需求方外键
     */
    @ApiModelProperty(value = "需求方外键")
    private Long tenantId;

    /**
     * 需求方外键
     */
    @ApiModelProperty(value = "需求方外键")
    private String tenantName;
    /**
     * 客户类型
     */
    @ApiModelProperty(value = "客户类型")
    private Integer tenantType;
    /**
     * 需求来源类型 0 自发 1转发
     */
    @ApiModelProperty(value = "需求来源类型")
    private Integer demandSourceType;
}
